package ch07;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

public class IntegerMain {
    public static void main(String[] args) {
        // 包装类  Integer  是  int  包装类  内核是一样的都是整数  11  22  33  44  55
        // 1. 比较功能 方便放入集合  Object ->  Integer
        // 2. 其他操作方法
        Integer integer = new Integer(11);

        int k = Integer.valueOf("123"); // 强制转换  String -> int
        double d = Double.valueOf("3.1415");// 强制转换  String -> double
        System.out.println(integer);
        System.out.println(k);
        System.out.println(d);


        List<Integer> list = new ArrayList<Integer>();
        int[] arr = {11,22,33,44,55};
        for (int item:arr) {
            list.add(item);
        }
        System.out.println(list.size());
        System.out.println("\n普通循环");
        for (int i=0;i< list.size();i++){
//            list.set(i,list.get(i)*2); // arr[i] = arr[i]*2  // 集合数据发生修改
            System.out.print(list.get(i)+" ");
        }
        System.out.println("\nforeach循环");
        for (Integer item: list) {
//            item = item * 2;// 局部变量被修改了  集合数据没有修改
            System.out.print(item+" ");
        }
        System.out.println("\n迭代器循环");
        for(Iterator<Integer> iterator = list.iterator();iterator.hasNext();){
            System.out.print(iterator.next()+" ");//  不提供对原始集合数据的修改操作
        }
        System.out.println("\n从集合中转化为数组");
        Integer[] arr2 = new Integer[list.size()];
        arr2 = list.toArray(arr2);
        for (int item: arr2) {
            System.out.println(item);
        }
    }
}
